
# 封装日志文件
import logging
import time
import os

class MyLogging():

    def __init__(self):
        # 1 定义一个日志记录器
        self.logger = logging.getLogger()
        self.logger.setLevel(logging.INFO) # 设置日志级别

        # 2 定义输出到控制台的处理器，并设置日志级别
        sh = logging.StreamHandler()
        sh.setLevel(logging.INFO)

        # 3.1 定义一个输出到日志文件的处理器，
        file_name = "{}.log".format(time.strftime("%Y-%m-%d"))
        pwd_dir = os.path.dirname(__file__)
        pwd_dir = os.path.join(pwd_dir,"..","log")
        # 3.2 判断目录是否存在
        if not os.path.isdir(pwd_dir):
            os.makedirs(pwd_dir)
        # 3.3 目录文件名称
        res_name = os.path.join(pwd_dir,file_name)
        fh = logging.FileHandler(res_name,encoding="utf-8")
        fh.setLevel(logging.INFO)

        # 4 定会日志输出格式,并且添加到两个处理器
        formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(filename)s - %(lineno)s - %(message)s")
        sh.setFormatter(formatter)
        fh.setFormatter(formatter)

        # 5.将两个处理器添加到记录器
        self.logger.addHandler(sh)
        self.logger.addHandler(fh)


# 导出日志
myLog = MyLogging().logger
